package member.model;

import java.sql.SQLException;
import java.util.ArrayList;

import to.MemberTO;

public class MemberService {
	private MemberDAO dao;
	public MemberService(){}
	public MemberService(MemberDAO dao){
		this.dao = dao;
	}
	
	//Business Logic을 처리하는 메소드들
	//가입처리 메소드
	public void joinMember(MemberTO mto) throws SQLException{
		//등록된 ID가 있는 지 체크
		if(dao.selectMemberById(mto.getMemberId())!=null){
			throw new SQLException(mto.getMemberId()+" 는 이미 등록된 아이디 입니다.");
		}
		dao.insertMember(mto);
	}
	
	//회원 id로 회원을 조회해 주는 메소드.
	public MemberTO getMemberById(String memberId) throws SQLException{
		return dao.selectMemberById(memberId);
	}
	
	public MemberTO getMemberByPhone(String memberPhone) throws SQLException{
		return dao.selectMemberByPhone(memberPhone);
	}
	
	//회원 탈퇴
	public void removeMemberById(String memberId) throws SQLException {
		dao.deleteMemberById(memberId);
	}
	
	//전체 회원 목록 조회
	public ArrayList<MemberTO> getMemberList() throws SQLException{
		return dao.selectAllMember();
	}
	
	//회원 정보 수정
	public void modifyMember(MemberTO mto) throws SQLException{
		//update
		dao.updateMember(mto);
	}
	
	//이름으로 회원 조회
	public ArrayList<MemberTO> searchMemberByName(String name) throws SQLException{
		return dao.selectMemberByName(name);
	}
}
